package com.imooc.service;

import com.imooc.pojo.UserAddress;
import com.imooc.pojo.bo.AddressBO;
import java.util.List;

/**
 * @ClassName: AddressService
 * @Package: com.imooc.service
 * @Description:
 * @Date: 2021/7/7 15:18
 * @Author: sunzheng@beiming.com
 */
public interface AddressService {

  /**
   * 根据userId查询用户的收货地址列表
   *
   * @param userId
   * @return
   */
  public List<UserAddress> queryAll(String userId);

  /**
   * 用户新增地址
   *
   * @param addressBO
   */
  public void addNewUserAddress(AddressBO addressBO);

  /**
   * 用户修改地址
   *
   * @param addressBO
   */
  public void updateUserAddress(AddressBO addressBO);

  /**
   * 根据用户id和地址id，删除用户对应的地址信息
   *
   * @param userId
   * @param addressId
   */
  public void deleteUserAddress(String userId, String addressId);

  /**
   * 设置默认地址
   *
   * @param userId
   * @param addressId
   */
  public void updateUserAddressToBeDefault(String userId, String addressId);

  /**
   * 根据用户id和地址id,查询具体的用户地址对象信息
   *
   * @param userId    用户id
   * @param addressId 地址标识
   * @return {@link UserAddress}
   */
  public UserAddress queryUserAddress(String userId, String addressId);


}
